failed to allocate for range 0: no IP addresses available in range set: 10.244.0.1-10.244.0.254

momo314相同方式共享非商业用途署名转载

 某日发现 kubernetes 集群中经常发生 pod 创建失败的问题,经观察发现,出现问题的 pod 都又一个共同点:被调度到了同一个 cluster node 上,进一步分析后怀疑问题与该节点有关。

所以先使用 node shell 登录到该节点

kubectl node-shell ${NodeName}

因为我们的 k8s 集群使用的网络组件是 kubenet,所以直接进入 kubenet 所在目录,并列出该文件夹下的所有文件:

cd /var/lib/cni/networks/kubenet
ls

发现果然 ip 段内的所有ip都被占用了。

✦ 那么解决方式也已经很明确了,只需要删除该文件夹下所有 “本该被释放但依然是占用状态的 ip 文件” 即可。


退出 node shell 之后,我们可以使用下面的命令来查询目前实际使用的 ip 地址

# linux 环境请将 sls 替换为 grep
kubectl get po -A -o wide | sls '10.244.'
✎﹏ 本文来自于 momo314和他们家的猫,文章原创,转载请注明作者并保留原文链接。